package com.hd.trans;

import com.hd.trans.config.CallbackProperty;
import com.hd.trans.config.ThemeProperty;
import com.hd.trans.config.TranslationProperty;
import com.hd.trans.limit4Use.LimitUseListener;
import com.hd.trans.track.TrackerListener;
import com.hd.trans.ui.base.AppContextProvider;
import com.hd.trans.ui.component.RecordFileCallback;
import com.hd.trans.utils.AndroidUtil;

public class TranslationInterior {
    private TranslationInterior() {}

    private static final TranslationEntry entry = TranslationEntry.getInstance();

    public static TranslationProperty getTranslationProperty() {
        return entry.getTranslationProperty();
    }

    public static ThemeProperty getThemeProperty() {
        return entry.getThemeProperty();
    }

    public static CallbackProperty getCallbackProperty() {
        return entry.getCallbackProperty();
    }
    
    public static boolean isDebug() {
        return entry.isDebug();
    }

    
    public static String getAppName() {
        return getTranslationProperty().getAppName();
    }

    
    public static String getAppPackageName() {
        return getTranslationProperty().getAppPackageName();
    }

    
    public static String getAppVersionName() {
        return getTranslationProperty().getAppVersionName();
    }

    
    public static int getAppVersion() {
        return getTranslationProperty().getAppVersion();
    }

    
    public static int getProductIdInteger() {
        return Integer.parseInt(getTranslationProperty().getProductId());
    }

    public static String getProductId() {
        return getTranslationProperty().getProductId();
    }

    
    public static String getProductInfo() {
        return getTranslationProperty().getProductInfo();
    }

    
    public static String getAndroidId() {
        return getTranslationProperty().getAndroidId();
    }

    
    public static String getDeviceId() {
        return AndroidUtil.getAndroidIdHuDun(AppContextProvider.getContext());
    }

    
    public static String getCredits() {
        return getTranslationProperty().getProductCredits();
    }

    
    public static String getChannel() {
        return getTranslationProperty().getChannel();
    }

    //主题属性--------------------------------------------------------
    
    public static int getThemeColor() {
        return getThemeProperty().getThemeColor();
    }

    
    public static int getLogoResId() {
        return getThemeProperty().getLogoResId();
    }

    //回调属性--------------------------------------------------------

    public static TrackerListener getTrackerListener() {
       return getCallbackProperty().getTrackerListener();
    }


    public static RecordFileCallback getRecordFileCallback() {
        return getCallbackProperty().getRecordFileCallback();
    }

    public static LimitUseListener getLimitUseListener() {
        return getCallbackProperty().getLimitUseListener();
    }
}
